home *** CD-ROM | disk | FTP | other *** search
/ Borland JBuilder 6 / jbuilder6.iso / JavaC Booster v1.0 / install.exe / #setuppath# / javacb.jar / server.class (.txt) < prev   
Encoding:
Java Class File  |  2001-10-18  |  4.4 KB  |  241 lines

  1. import java.io.BufferedOutputStream;
  2. import java.io.BufferedWriter;
  3. import java.io.ByteArrayOutputStream;
  4. import java.io.File;
  5. import java.io.FileOutputStream;
  6. import java.io.FileWriter;
  7. import java.io.OutputStream;
  8. import java.io.PrintStream;
  9. import java.io.Writer;
  10. import java.text.MessageFormat;
  11. import java.util.Enumeration;
  12. import java.util.Hashtable;
  13.  
  14. public class server {
  15.    // $FF: renamed from: a int
  16.    static int field_0 = 0;
  17.  
  18.    public static native void setCurrentDirectory(byte[] var0);
  19.  
  20.    public static native boolean isSaveErr();
  21.  
  22.    public static native void signalReady();
  23.  
  24.    public static native byte[] waitStart();
  25.  
  26.    public static native void signalDone(byte[] var0);
  27.  
  28.    // $FF: renamed from: a () void
  29.    private static void method_0() throws a {
  30.       try {
  31.          System.loadLibrary("javacb");
  32.       } catch (Throwable var1) {
  33.          throw new a("JAVACB.DLL cannot be loaded.");
  34.       }
  35.    }
  36.  
  37.    // $FF: renamed from: a (java.lang.String, java.lang.String) void
  38.    private static void method_1(String var0, String var1) {
  39.       try {
  40.          PrintStream var2 = new PrintStream(new BufferedOutputStream(new FileOutputStream(var0)));
  41.  
  42.          try {
  43.             var2.println(var1);
  44.          } finally {
  45.             var2.close();
  46.          }
  47.       } catch (Exception var8) {
  48.       }
  49.  
  50.    }
  51.  
  52.    // $FF: renamed from: a (byte[], int) int
  53.    private static int method_2(byte[] var0, int var1) {
  54.       int var2 = 0;
  55.       var2 = var0[var1 + 3];
  56.       var2 <<= 8;
  57.       var2 += var0[var1 + 2];
  58.       var2 <<= 8;
  59.       var2 += var0[var1 + 1];
  60.       var2 <<= 8;
  61.       var2 += var0[var1];
  62.       return var2;
  63.    }
  64.  
  65.    // $FF: renamed from: a (byte[]) java.lang.String[]
  66.    private static String[] method_3(byte[] var0) throws Exception {
  67.       int var1 = 4;
  68.       int var2 = method_2(var0, var1);
  69.       var1 += 4;
  70.       int var3 = method_2(var0, var1);
  71.       var1 += 4;
  72.       String var4 = new String(var0, var1, var3);
  73.       setCurrentDirectory(var4.getBytes());
  74.       var1 += var3;
  75.       String[] var5 = new String[var2 - 1];
  76.  
  77.       for(int var6 = 1; var6 < var2; ++var6) {
  78.          var3 = method_2(var0, var1);
  79.          var1 += 4;
  80.          var5[var6 - 1] = new String(var0, var1, var3);
  81.          var1 += var3;
  82.       }
  83.  
  84.       return var5;
  85.    }
  86.  
  87.    // $FF: renamed from: a (java.lang.String[]) void
  88.    private static void method_4(String[] var0) {
  89.       System.out.print("[javacb]");
  90.  
  91.       for(int var1 = 0; var1 < var0.length; ++var1) {
  92.          System.out.print(" [" + var0[var1] + "]");
  93.       }
  94.  
  95.    }
  96.  
  97.    // $FF: renamed from: a (java.lang.String) java.lang.String
  98.    private static String method_5(String var0) {
  99.       try {
  100.          MessageFormat var1 = new MessageFormat("{0}.java:{1,number,integer}:{2}");
  101.          Object[] var2 = var1.parse(var0);
  102.          String var3 = (String)var2[0];
  103.          int var4 = var3.indexOf(58);
  104.          if (var4 != -1) {
  105.             if (var4 != 1) {
  106.                return null;
  107.             }
  108.  
  109.             var4 = var3.indexOf(58, var4 + 1);
  110.             if (var4 != -1) {
  111.                return null;
  112.             }
  113.          }
  114.  
  115.          return (new File(var3)).getName() + ".err";
  116.       } catch (Exception var5) {
  117.          return null;
  118.       }
  119.    }
  120.  
  121.    // $FF: renamed from: a (b, byte[], int) void
  122.    private static void method_6(b var0, byte[] var1, int var2) {
  123.       System.arraycopy(var0.for, 0, var1, 0, var0.for.length);
  124.       var1[var0.for.length] = (byte)(field_0 % 100);
  125.       var1[var0.for.length + 1] = (byte)Math.min(var2, 255);
  126.    }
  127.  
  128.    // $FF: renamed from: a (b, byte[], int, boolean) byte[]
  129.    private static byte[] method_7(b var0, byte[] var1, int var2, boolean var3) throws Exception {
  130.       int var4 = var0.for.length + 2;
  131.       method_6(var0, var1, var2);
  132.       if (var3) {
  133.          d var5 = new d(new String(var1, var4, var1.length - var4));
  134.          Hashtable var6 = new Hashtable();
  135.          BufferedWriter var7 = null;
  136.  
  137.          while(true) {
  138.             String var8 = var5.a();
  139.             if (var8 == null) {
  140.                Enumeration var11 = var6.elements();
  141.  
  142.                while(var11.hasMoreElements()) {
  143.                   var7 = (BufferedWriter)var11.nextElement();
  144.                   var7.close();
  145.                }
  146.                break;
  147.             }
  148.  
  149.             String var9 = method_5(var8);
  150.             if (var9 != null) {
  151.                var7 = (BufferedWriter)var6.get(var9);
  152.                if (var7 == null) {
  153.                   var7 = new BufferedWriter(new FileWriter(var9));
  154.                   var6.put(var9, var7);
  155.                }
  156.             }
  157.  
  158.             if (var7 != null) {
  159.                ((Writer)var7).write(var8);
  160.                var7.newLine();
  161.             }
  162.          }
  163.       }
  164.  
  165.       return var1;
  166.    }
  167.  
  168.    // $FF: renamed from: a (b, byte[], boolean) byte[]
  169.    private static byte[] method_8(b var0, byte[] var1, boolean var2) throws Exception {
  170.       String[] var3 = method_3(var1);
  171.       System.out.print("Starting ");
  172.       method_4(var3);
  173.       System.out.println();
  174.       long var4 = System.currentTimeMillis();
  175.       ByteArrayOutputStream var6 = new ByteArrayOutputStream();
  176.       ++field_0;
  177.       ((OutputStream)var6).write(new byte[var0.for.length + 2]);
  178.       int var7 = var0.a(var6, var3);
  179.       ((OutputStream)var6).flush();
  180.       byte[] var8 = method_7(var0, var6.toByteArray(), var7, var2);
  181.       long var9 = System.currentTimeMillis();
  182.       System.out.println("Done with code " + var7 + " (" + (var9 - var4) + " msec).");
  183.       return var8;
  184.    }
  185.  
  186.    public static void main(String[] var0) {
  187.       System.out.println("JavaC Booster for Win32 (Server) v1.0.");
  188.       System.out.println("(c) DEF Group, 2001.");
  189.       System.out.println();
  190.  
  191.       try {
  192.          method_0();
  193.          b var1 = new b();
  194.          if (var1.a) {
  195.             System.out.println("Using the com.sun.tools-based javac compiler.");
  196.          } else {
  197.             System.out.println("Using the sun.tools.-based javac compiler.");
  198.          }
  199.  
  200.          boolean var2 = isSaveErr();
  201.          System.out.println("Saving error messages into *.ERR is " + (var2 ? "on" : "off") + ".");
  202.          System.out.println();
  203.          System.out.println("Ready.");
  204.          signalReady();
  205.  
  206.          while(true) {
  207.             byte[] var3 = waitStart();
  208.             if (var3 == null) {
  209.                throw new a("An error during waiting connection");
  210.             }
  211.  
  212.             try {
  213.                var3 = method_8(var1, var3, var2);
  214.             } catch (Exception var7) {
  215.                System.out.println("Error: " + var7);
  216.                ((Throwable)var7).printStackTrace();
  217.                byte[] var5 = ((Throwable)var7).toString().getBytes();
  218.                var3 = new byte[var1.for.length + 2 + var5.length];
  219.                method_6(var1, var3, 255);
  220.                System.arraycopy(var5, 0, var3, var1.for.length + 2, var5.length);
  221.             }
  222.  
  223.             signalDone(var3);
  224.          }
  225.       } catch (Throwable var8) {
  226.          if (var0.length >= 1) {
  227.             method_1(var0[0], var8.toString());
  228.          }
  229.  
  230.          System.out.println(var8);
  231.  
  232.          try {
  233.             System.out.println("Waiting 5 seconds before exit...");
  234.             Thread.sleep(5000L);
  235.          } catch (Exception var6) {
  236.          }
  237.  
  238.       }
  239.    }
  240. }
  241.